
#ifndef		__EVENTS_FOR_ENTITY__
#define		__EVENTS_FOR_ENTITY__

#include "Event/EvtImpT.h"
#include "Event/EvtDefinition.h"

class EvtEntityPC : public EvtImpT<Event::GID_EntityPropChange>
{
public:
	enum TheProperties
	{
		//
		//	entity common properties
		eProp_Position,
		eProp_Direction,
		eProp_Level,
		eProp_Name,
		eProp_Visible,

		//	entity combat properties
		eProp_CombatHP,
		eProp_CombatMP,
		eProp_CombatLevelup,
		eProp_CombatMPBottle,
		eProp_CombatHPBottle,
		eProp_CombatStatus,
	};


	EvtEntityPC(int nID, int nArgX = 0, int nArgY = 0, int nArgZ = 0)
		:EvtImpT<Event::GID_EntityPropChange>(nID, nArgX, nArgY, nArgZ)
	{
		;
	}
};


class EvtEntitySC : public EvtImpT<Event::GID_EntityStateChange>
{
public:
	enum StateOpeartions
	{
		op_Null,
		op_DoIt,
		op_StopIt,

		IDT_Effect,
		IDT_Animation,
		IDT_Sound,
	};

	EvtEntitySC(int nStateID, int nOperation = 0, int nIDTanslate = 0, int nArgZ = 0)
		:EvtImpT<Event::GID_EntityStateChange>(nStateID, nOperation, nIDTanslate, nArgZ)
	{
		;
	}
};


#endif